package com.softer.wxzj.service;

import com.github.pagehelper.PageInfo;
import com.softer.wxzj.common.entity.CommonResult;
import com.softer.wxzj.common.entity.Page;
import com.softer.wxzj.entity.BaseBuildInfo;
import com.softer.wxzj.entity.BuildAddAudit;
import com.softer.wxzj.entity.OrgBuildAudit;
import com.softer.wxzj.entity.OrgRegionAudit;

import java.util.List;
import java.util.Map;

/**
 * @author Gong Zhiyang
 * @date 2020/5/29
 */
public interface OrgBuildAuditService {
    /**
     * 查询绑定的自然幢列表
     *
     * @param page          分页实体
     * @param baseBuildInfo 查询实体
     * @return 自然幢列表
     */
    PageInfo<BaseBuildInfo> getOrgBuildAuditList(Page page, BaseBuildInfo baseBuildInfo);
    /**
     * 查询小区下可以绑定的自然幢列表
     * （自己物业下已经保存的，审核中的，审核通过的不查询）
     *
     * @param regionId 小区ID
     * @param operNo 外网登录账号
     * @return 自然幢列表
     */
    List<BaseBuildInfo> getAddBuildList(String regionId,String operNo);
    /**
     * 删除绑定的自然幢（只有未提交审核的可以删除）
     *
     * @param orgBuildAuditId 绑定的自然幢ID
     * @return 删除结果
     */
    CommonResult deleteAudit(String orgBuildAuditId);
    /**
     * 新增绑定的自然幢
     *
     * @param buildAddAudit 绑定的自然幢ID集合
     * @return 结果
     */
    CommonResult addAudit(BuildAddAudit buildAddAudit);
    /**
     * 提交自然幢绑定审核
     *
     * @param orgRegionAudit 绑定的自然幢ID集合
     * @return 结果
     */
    CommonResult submit(OrgRegionAudit orgRegionAudit);
    /**
     * 查询绑定的自然幢列表
     * 用于下拉列表
     *
     * @param baseBuildInfo 查询实体
     * @return 自然幢列表
     */
    List<BaseBuildInfo> getAllOrgBuildAuditList(BaseBuildInfo baseBuildInfo);
    /**
     * 绑定审核查询列表
     *
     * @param page           分页实体
     * @param orgRegionAudit 查询实体
     * @return 结果
     */
    PageInfo<Map<String, String>> getOrgRegionAuditList(Page page, OrgRegionAudit orgRegionAudit);
    /**
     * 绑定审核记录列表
     *
     * @param page           分页实体
     * @param baseBuildInfo 查询实体
     * @return 结果
     */
    PageInfo<Map<String,String>> getOrgBuildInfoByOrgRegionId(Page page, BaseBuildInfo baseBuildInfo);

    /**
     * 查询嫌弃
     * @param page
     * @param orgBuildAudit
     * @return
     */
    PageInfo<OrgBuildAudit> selectByRegionAuditId(Page page, OrgBuildAudit orgBuildAudit);
/**
 * 区域管理审核通过修改的数据
 */
void changeRegionAndBuild(OrgRegionAudit orgRegionAudit, String buildAuditList, String regionAuidtId, String companyId) ;

    }
